package com.hframe.typefilter;

/**
 * 数据输入输出过滤器
 *
 * @param <T>
 * @param <E>
 * @author Administrator
 */
public interface FilterRef<T, E> {

    public abstract T filter(E object) throws Exception;

    public interface Date<T, E> extends FilterRef<T, E> {
        /**
         * 系统默认的格式 yyyy/MM/dd
         */
        public static final String DEFAULT = "yyyy/MM/dd";
        /**
         * 输出年月 yyyy/MM
         */
        public static final String YM = "yyyy/MM";
        /**
         * 输出年月日 yyyy-mm-dd
         */
        public static final String YMR_SLASH = "yyyy-MM-dd";
        /**
         * 输出年月日 yyyymmdd
         */
        public static final String NO_SLASH = "yyyyMMdd";
        /**
         * 输出年月 yyyyMM
         */
        public static final String YM_NO_SLASH = "yyyyMM";
        /**
         * 输出年月日和时间 yyyy/MM/dd HH:mm:ss
         */
        public static final String DATE_TIME = "yyyy/MM/dd HH:mm:ss";
        /**
         * 输出年月日和时间 yyyyMMddHHmmss
         */
        public static final String DATE_TIME_NO_SLASH = "yyyyMMddHHmmss";
        /**
         * 输出年月日和时间 yyyy/MM/dd HH:mm
         */
        public static final String DATE_HM = "yyyy/MM/dd HH:mm";
        /**
         * 输出时间 HH:mm:ss
         */
        public static final String TIME = "HH:mm:ss";
        /**
         * 输出时间 HH:mm
         */
        public static final String HM = "HH:mm";
        /**
         * 输出时间 HHmmss
         */
        public static final String LONG_TIME = "HHmmss";
        /**
         * 输出时间 HHmm
         */
        public static final String SHORT_TIME = "HHmm";
        /**
         * 输出年月日和时间 yyyy-MM-dd HH:mm:ss
         */
        public static final String DATE_TIME_LINE = "yyyy-MM-dd HH:mm:ss";
    }


}
